今天我要從昨日定義之頁面中爬取基因的起始與結束位置,這些位置訊息會用來計算基因表現量,而在此我將使用 BeautifulSoup
來解析爬取到的 HTML 頁面,並協助我爬取位置訊息。
每個基因的詳細頁面都包含了一個 "Location" 區域,這個區域表示了基因的染色體位置、起始位置和結束位置,而我可以通過之前定義的 extract_location
函數來爬取這些資訊。
首先,我要應用這個函數來解析所有爬取到的頁面藉此提取基因的位置訊息,具體的 Code 如下:
# 解析所有的 HTML 頁面,並爬取基因起始與結束位置
df['Start'], df['End'] = zip(*df['HTML'].apply(extract_location))
在上面這段 code 中,我使用 DataFrame 的 apply
函數將 extract_location
函數應用於每一個 HTML
頁面,並提取出每個基因的 Start
(起始位置)和 End
(結束位置);由於 extract_location
返回的是一個元組,所以我使用 zip
來解壓縮這些數據,並將其分別存儲到 Start
和 End
列中。
接下來,我要開始計算每個基因的長度,因為這會使用在 RPKM 的計算中。基因長度的計算公式為:結束位置 - 起始位置 + 1,下面是計算基因長度的 code:
df['Gene Length'] = df['End'] - df['Start'] + 1
這一步完成後,我就已經成功解析並爬取了每個基因的位置訊息和長度;這些數據將作為後續 RPKM 計算的重要依據。接下來,我將進行數據的保存和驗證,確保所有數據正確無誤。